//package com.roadjava.rbac.security;
//
//import org.owasp.encoder.Encode;
//import org.springframework.util.StringUtils;
//import org.springframework.web.util.HtmlUtils;
//
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletRequestWrapper;
//import java.util.Arrays;
//
//public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper {
//
//    public XssHttpServletRequestWrapper(HttpServletRequest request) {
//        super(request);
//    }
//
//    @Override
//    public String getHeader(String name) {
//        String value = super.getHeader(name);
//        if (StringUtils.isEmpty(value)) {
//            return value;
//        }
//        return cleanXss(value);
//    }
//
//    @Override
//    public String getParameter(String name) {
//        String value = super.getParameter(name);
//        if (StringUtils.isEmpty(value)) {
//            return value;
//        }
//        return cleanXss(value);
//    }
//
//    @Override
//    public String[] getParameterValues(String name) {
//        String[] values = super.getParameterValues(name);
//        if (values == null) {
//            return values;
//        }
//        return Arrays.stream(values)
//                .map(this::cleanXss)
//                .toArray(String[]::new);
//    }
//
//    private String cleanXss(String value) {
//        // 使用OWASP Java Encoder进行清理
//        return Encode.forHtmlContent(value);
//    }
//}